#pragma once
#pragma warning (disable : 4413)
#include "OpenGl_Drawable.h"
#include "_GraphLayout.h"

class _Marker : public OpenGl_Drawable
{
    public:

        static _u32 NextHandle;
        _Marker::~_Marker(void)
        {
        }

        _Marker::_Marker(void)
            : m_Layout(_GraphLayout())
        {
        }

        _Marker(_GraphLayout& Layout, _u32 Handle = 0):
            m_Layout(Layout)
        {
            if(Handle == 0)
            {
                m_Handle = NextHandle;
                NextHandle++;
            }
            else
            {
                m_Handle = Handle;
            }

            m_Value = 0;
            m_Color = 0;
            m_Caption = "";
        }

        _Marker(_GraphLayout& Layout, double Value, COLORREF Color, CString Caption = _T("")):
            m_Layout(Layout)
        {
            m_Handle = NextHandle;
            NextHandle++;
            m_Visible = false;
            m_Caption = Caption;
            m_Color = Color;
            m_Value = Value;
        }

        _GraphLayout& m_Layout;
        CString m_Caption;
        double m_Value;
        COLORREF m_Color;
        bool m_Visible;
        _u32 m_Handle;
};

